Did anyone have a terrible time with week 4?

Hello

I really liked the Patterson classes. I liked his style. Loved how he showed some code, you typed along, got it working in stages.

The week 4 assignment is “5.3 hours” of video! It took me 12 hours to type this code in. Not to mention it was blurry and the guy copy pasted a lot of code in. There was an incredibly complex UI layout and code errors persisted for large portions of time.

I absolutely hated it. I’m going to end up failing and having to retake it. Its not a major problem but with my schedule I just can schedule 20 hours a week to a single online class.

With that said, I don’t mind if we have to type all the code in. It has some merits, but a video which was in visible resolution that showed a scroll of each and every file from top to bottom along with the 50 different possible settings for each of layouts in the layout tool would have helped considerably.

If you followed along with the video and you get the error as the instructor did with the collection cell not being at the top of the page, then it litterally broke me. In the video, the instructor says, well this is a bug. I’m going to have to delete it and then redo it. The video shows him deletting the sectioin and then stops, and resumes after he has readded it.

I knew better to do that. I kept the UI layout problem in the code, until I could get the thing working as given. Afterwards I checked it in to my git repot and then deleted it and tried to put it back. I kid you not, I could never get it working again. I woujld try to drag controls from code to layout as the instructor originally did it. I tried to add usable cell ids, overriding custom class specifiers, etc. I never could get that categorylayout label on the header collection to reconnect to the ui layout.

On the layout IBOutlet for the collectikon view as a whole, I would click it and it would go from the source code in the Edit View controller over to the layout for the neighbors view controller or the me view controller, but never the actuall view controller in the edit view controller.

Anyway it was a total miserable experience and a failure but not a failure from lack of effort.

4 Likes

I also had a tough time. As far as collection view and cell, I redid it and added my own constraints. Make sure to carefully go over the code you typed in for any typos.

Sorry it was a tough lecture!

This course is bad one, starting with video quality and continuing with bad attitude of professors.

Anyway, it is now Swift 3 and Xcode 8, and I will have to figure out how to make provided classes work.

I’m very into learning and solving problems, but this … this is almost to awful. I will have to fail and retake it too, no way I can make it work to deadline.

I feel your pain. If you haven’t updated osx, you can probably use the older version of xcode which matches the lectures.

Well, I made it work on Xcode 8. So, that was false start for panic. :wink:

The final project worked on xcode 8?

Yes, final project on Xcode 8.
Seems to work right now.

go to Build Settings > Swift Compiler - Version > Legacy code - YES

yep i followed everything perfectly till an error on the second part of module 8 then I could not get any attention from the professor to help me with code that was missing from the lecture now i feel like I just wasted $50

1 Like

Well, it took some extra effort.
But I’ve managed make it work.

This course is way different from prof. Patterson’s courses. It takes much more extra learning and some more developer effort.

More close to real world situations. But, yes, a bit confusing and embarrassing at first.

Take your time, it is worth it.

I had to delay this course and go back to it. But I’m still stuck after days and days of trying.

There needs to be more support for this last week as it takes longer than a whole course, the amount of videos and places where you can go wrong. At least there should be a review at the end of each page of code, so if you haven’t dealt with optionals properly or something has changed on Swift 3.0 you can actually have something to refer to.

Shame as have loved all the courses, but will have to fail this assignment due to no longer having time left for this and it looked like such a good and helpful concept as well; just lacking on a bit of review and help.

1 Like

You will face this or likely situations every moment on your job as developer.
This is a good course, indeed. You will get it later, believe me. :slight_smile:

1 Like

Most definitely. Driven me a but nuts as I’ve watched all the videos twice and programmed it twice. But I’ll watch it to the end (still have the Neighbours one to watch), but I’ll postpone it again.

Has anyone faced this error during week 4 in the neighbours View Controller
SFLBaseModel.readFromJSONDictionary() WARNING: This object is not key-value coding compliant for the key ‘Status’. The instance may have been locally created.
fatal error: unexpectedly found nil while unwrapping an Optional value

i am able to get a list of users from the server but could not show annotations on the map view .
help would be appreciated

Hi - I had same issue - it’s because you need to use “Username” (as typed) when reading the dictionary. Else the title is blank and the annotations won’t show.

In models.swift:

Hope that fixes it - did for me.
JL

1 Like

I am getting the same warning SFLBaseModel.readFromJSONDictionary() WARNING: This object is not key-value coding compliant for the key ‘Status’. The instance may have been locally created. This happens because I am getting such object from the server {“Status”:null,“UserId”:“00000000-0000-0000-0000-000000000000”,“Username”:“mmcal927”,“FirstName”:"",“LastName”:"",“Latitude”:37.33729864,“Longitude”:-122.02322484,“HobbySearch”:null,“Hobbies”:[“Apple”,“Programming”,“Video Games”]}, so this happens because of I am getting null Status from the server. So is the server working correctly?

Checked the api using Charles and found that server returns null status for the users.

I’m sorry. I’ve stucked at lection “Models and Data Providers Part 6” in course “Toward the Future of iOS Development with Swift”. I’ve tried to sent request for hobbies to server uci.smellfish.com with that tricky custom httpMethod “CREATE_USER”, and the server responded with 405 error (wrong http method). Could you please help me to solve the problem. I can’t find any contacts at Coursera. I’ve paid money for that course and i really want to complete it. And here is the log:

SFLBaseModel.getJSONDictionary() - ERROR: Could not create security context!

SFLConnection.ajax:ver:requestbody:completionBlock() URL = http://uci.smilefish.com/HBSRest-Dev/api/HobbyRest
VERB = CREATE_USER
REQUEST JSON = {
“Latitude” : 37.332331410000002,
“SecurityContext” : {

},
“Longitude” : -122.0312186,
“UserName” : “qwer2019”,
“Status” : {

},
“Hobbies” : [

]
}

Main Thread Checker: UI API called on a background thread: -[UIApplication setNetworkActivityIndicatorVisible:]
PID: 3246, TID: 115325, Thread name: (none), Queue name: NSOperationQueue 0x7fac91c44040 (QOS: UNSPECIFIED), QoS: 0
Backtrace:
4 hoBShare 0x00000001093fcc81 $s8hoBShare13SFLConnectionC4ajax3url4verb11requestBody15completionBlockySo8NSStringC_AjA12SFLBaseModelCySDySSyXlGctFy10Foundation4DataVSg_So13NSURLResponseCSgs5Error_pSgtcfU_ + 1825
5 hoBShare 0x00000001093fee23 $s10Foundation4DataVSgSo13NSURLResponseCSgs5Error_pSgIegggg_So6NSDataCSgAGSo7NSErrorCSgIeyByyy_TR + 307
6 CFNetwork 0x00007fff22d0e424 CFNetwork + 37924
7 CFNetwork 0x00007fff22d2116c _CFHTTPMessageSetResponseProxyURL + 16549
8 Foundation 0x00007fff25654583 NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK + 7
9 Foundation 0x00007fff2565447b -[NSBlockOperation main] + 98
10 Foundation 0x00007fff25657408 NSOPERATION_IS_INVOKING_MAIN + 17
11 Foundation 0x00007fff2565367b -[NSOperation start] + 731
12 Foundation 0x00007fff25657d62 NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION + 17
13 Foundation 0x00007fff2565786c __NSOQSchedule_f + 182
14 libdispatch.dylib 0x00000001097813ff _dispatch_block_async_invoke2 + 83
15 libdispatch.dylib 0x0000000109772d64 _dispatch_client_callout + 8
16 libdispatch.dylib 0x00000001097756d6 _dispatch_continuation_pop + 552
17 libdispatch.dylib 0x0000000109774ae1 _dispatch_async_redirect_invoke + 849
18 libdispatch.dylib 0x000000010978429a _dispatch_root_queue_drain + 351
19 libdispatch.dylib 0x0000000109784ba4 _dispatch_worker_thread2 + 132
20 libsystem_pthread.dylib 0x00007fff514206d5 pthread_wqthread + 220
21 libsystem_pthread.dylib 0x00007fff5142057b start_wqthread + 15
2019-12-06 11:30:37.662564+0300 hoBShare[3246:115325] [reports] Main Thread Checker: UI API called on a background thread: -[UIApplication setNetworkActivityIndicatorVisible:]
PID: 3246, TID: 115325, Thread name: (none), Queue name: NSOperationQueue 0x7fac91c44040 (QOS: UNSPECIFIED), QoS: 0
Backtrace:
4 hoBShare 0x00000001093fcc81 $s8hoBShare13SFLConnectionC4ajax3url4verb11requestBody15completionBlockySo8NSStringC_AjA12SFLBaseModelCySDySSyXlGctFy10Foundation4DataVSg_So13NSURLResponseCSgs5Error_pSgtcfU
+ 1825
5 hoBShare 0x00000001093fee23 $s10Foundation4DataVSgSo13NSURLResponseCSgs5Error_pSgIegggg_So6NSDataCSgAGSo7NSErrorCSgIeyByyy_TR + 307
6 CFNetwork 0x00007fff22d0e424 CFNetwork + 37924
7 CFNetwork 0x00007fff22d2116c _CFHTTPMessageSetResponseProxyURL + 16549
8 Foundation 0x00007fff25654583 NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK + 7
9 Foundation 0x00007fff2565447b -[NSBlockOperation main] + 98
10 Foundation 0x00007fff25657408 NSOPERATION_IS_INVOKING_MAIN + 17
11 Foundation 0x00007fff2565367b -[NSOperation start] + 731
12 Foundation 0x00007fff25657d62 NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION + 17
13 Foundation 0x00007fff2565786c __NSOQSchedule_f + 182
14 libdispatch.dylib 0x00000001097813ff _dispat
ch_block_async_invoke2 + 83
15 libdispatch.dylib 0x0000000109772d64 _dispatch_client_callout + 8
16 libdispatch.dylib 0x00000001097756d6 _dispatch_continuation_pop + 552
17 libdispatch.dylib 0x0000000109774ae1 _dispatch_async_redirect_invoke + 849
18 libdispatch.dylib 0x000000010978429a _dispatch_root_queue_drain + 351
19 libdispatch.dylib 0x0000000109784ba4 _dispatch_worker_thread2 + 132
20 libsystem_pthread.dylib 0x00007fff514206d5 _pthread_wqthread + 220
21 libsystem_pthread.dylib 0x00007fff5142057b start_wqthread + 15
SFLConnection.connectionDidFinishLoading(): URL: Optional(http{just to not overcome 2 links restriction}://uci.smilefish.com/HBSRest-Dev/api/HobbyRest), VERB: CREATE_USER, responseJSON: Optional(

405 Not Allowed

405 Not Allowed


nginx )

I’m sorry that I can’t help with that part of the course. It was outsourced to smilefish when I was taking too long on the other parts of the course. I don’t really know who the contact is at Coursera because all of my communication was through UCI https://ce.uci.edu/ when they asked me to put together the materials.